1600 |
How do I set a computated cell individually
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Number"); spG2antt1->GetColumns()->Add(L"Format"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("1.23"); var_Items->PutCellValueFormat(h,long(1),EXG2ANTTLib::exComputedField); var_Items->PutCellValue(h,long(1),"2 * %0 + ` (2 * Number)`"); h = var_Items->AddItem("1.23"); var_Items->PutCellValueFormat(h,long(1),EXG2ANTTLib::exComputedField); var_Items->PutCellValue(h,long(1),"3 * %0 + ` (3 * Number)`"); h = var_Items->AddItem("1.23"); var_Items->PutCellValueFormat(h,long(1),EXG2ANTTLib::exComputedField); var_Items->PutCellValue(h,long(1),"currency(%0) + ` ( Currency(Number) )`"); spG2antt1->EndUpdate(); |
1599 |
How can I hide a specific hour
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->GetColumns()->Add(L"Default"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutAllowInsideZoom(VARIANT_TRUE); var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday); var_Chart->PutFirstVisibleDate(COleDateTime(2013,3,31,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,52); var_Chart->PutLevelCount(2); var_Chart->PutUnitScale(EXG2ANTTLib::exHour); var_Chart->GetLevel(1)->PutLabel("<font ;6><%h%></font>"); var_Chart->PutUnitWidth(14); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); var_Chart->PutAllowInsideZoom(VARIANT_TRUE); var_Chart->GetDefaultInsideZoomFormat()->PutInsideUnit(EXG2ANTTLib::exMinute); var_Chart->PutAllowResizeInsideZoom(VARIANT_FALSE); var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE); EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms(); var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE); var_InsideZooms->PutDefaultWidth(0); EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms1 = var_Chart->GetInsideZooms(); var_InsideZooms1->Add(COleDateTime(2013,3,31,23,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item"); spG2antt1->EndUpdate(); |
1598 |
Is it possible to define the keys of the drop down values to be strings rather than numeric values
// Change event - Occurs when the user changes the cell's content. void OnChangeG2antt1(long Item,long ColIndex,VARIANT FAR* NewValue) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"NewValue is" ); OutputDebugStringW( L"NewValue" ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DropDownList-String")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::DropDownListType); var_Editor->AddItem(1,L"NYC|New York City",vtMissing); var_Editor->AddItem(2,L"CJN|Cluj Napoca",vtMissing); EXG2ANTTLib::IEditorPtr var_Editor1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DropDownList-Numeric")))->GetEditor(); var_Editor1->PutEditType(EXG2ANTTLib::DropDownListType); var_Editor1->AddItem(1,L"New York City",vtMissing); var_Editor1->AddItem(2,L"Cluj Napoca",vtMissing); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("NYC"),long(1),long(2)); |
1597 |
I have an edit field, when going to edit mode, the rightmost part is shown. Is it possible to show the left part instead
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit"))); var_Column->PutWidth(64); var_Column->PutAllowSizing(VARIANT_FALSE); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::MaskType); var_Editor->PutMask(L";;;rich"); spG2antt1->GetColumns()->Add(L"Empty"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("This is a bit ot long text"); var_Items->AddItem(""); spG2antt1->EndUpdate(); |
1596 |
I have a drop down field, the control shows the rightmost part of the selected caption. Is it possible to show the left part
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DropDown"))); var_Column->PutWidth(64); var_Column->PutAllowSizing(VARIANT_FALSE); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20)); var_Editor->PutEditType(EXG2ANTTLib::DropDownType); var_Editor->AddItem(1,L"First item. This is a bit ot long text",vtMissing); var_Editor->AddItem(2,L"Second item. This is a bit ot long text",vtMissing); var_Editor->AddItem(3,L"Third item. This is a bit ot long text",vtMissing); var_Editor->PutMask(L";;;rich"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"PickEdit"))); var_Column1->PutWidth(64); var_Column1->PutAllowSizing(VARIANT_FALSE); EXG2ANTTLib::IEditorPtr var_Editor1 = var_Column1->GetEditor(); var_Editor1->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20)); var_Editor1->PutEditType(EXG2ANTTLib::PickEditType); var_Editor1->AddItem(1,L"First item. This is a bit ot long text",vtMissing); var_Editor1->AddItem(2,L"Second item. This is a bit ot long text",vtMissing); var_Editor1->AddItem(3,L"Third item. This is a bit ot long text",vtMissing); var_Editor1->PutMask(L";;;rich"); spG2antt1->GetColumns()->Add(L"Empty"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("First item. This is a bit ot long text"),long(1),"Second item. This is a bit ot long text"); long h = var_Items->AddItem("First item. This is a bit ot long text"); EXG2ANTTLib::IEditorPtr var_Editor2 = var_Items->GetCellEditor(h,long(0)); var_Editor2->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20)); var_Editor2->PutEditType(EXG2ANTTLib::DropDownType); var_Editor2->AddItem(1,L"First item. This is a bit ot long text",vtMissing); var_Editor2->AddItem(2,L"Second item. This is a bit ot long text",vtMissing); var_Editor2->AddItem(3,L"Third item. This is a bit ot long text",vtMissing); var_Items->PutCellValue(h,long(1),"Second item. This is a bit ot long text"); EXG2ANTTLib::IEditorPtr var_Editor3 = var_Items->GetCellEditor(h,long(1)); var_Editor3->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20)); var_Editor3->PutEditType(EXG2ANTTLib::PickEditType); var_Editor3->AddItem(1,L"First item. This is a bit ot long text",vtMissing); var_Editor3->AddItem(2,L"Second item. This is a bit ot long text",vtMissing); var_Editor3->AddItem(3,L"Third item. This is a bit ot long text",vtMissing); spG2antt1->EndUpdate(); |
1595 |
Is there a property for the back color of the dropdown field
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::DateType); var_Editor->PutOption(EXG2ANTTLib::exDropDownBackColor,long(15790320)); var_Editor->PutOption(EXG2ANTTLib::exDropDownForeColor,long(65793)); spG2antt1->GetItems()->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); spG2antt1->EndUpdate(); |
1594 |
Is it possible to change a back color of the field/cell when it takes a focus
// EditClose event - Occurs when the edit operation ends. void OnEditCloseG2antt1() { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->ClearCellBackColor(var_Items->GetFocusItem(),spG2antt1->GetFocusColumnIndex()); } // EditOpen event - Occurs when the edit operation starts. void OnEditOpenG2antt1() { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellBackColor(var_Items->GetFocusItem(),spG2antt1->GetFocusColumnIndex(),RGB(255,0,0)); EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems(); var_Items1->PutCellValue(var_Items1->GetFocusItem(),spG2antt1->GetFocusColumnIndex(),spG2antt1->GetItems()->GetCellValue(spG2antt1->GetItems()->GetFocusItem(),spG2antt1->GetFocusColumnIndex())); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"C1")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"C2")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("v1"),long(1),"v2"); var_Items->PutCellValue(var_Items->AddItem("v3"),long(1),"v4"); |
1593 |
How can I display the current date mask, but still allow empty values
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutCauseValidateValue(EXG2ANTTLib::exValidateCell); spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::DateType); var_Editor->PutMask(_bstr_t("!99/99/9999;1;;empty=1,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character") + "!,select=4,overtype"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(vtMissing); var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Items->AddItem(vtMissing); spG2antt1->EndUpdate(); |
1592 |
How can I align the days in a DateType editor
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetColumns()->Add(L"DropDown"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor->PutEditType(EXG2ANTTLib::DateType); var_Editor->PutDropDownAlignment(EXG2ANTTLib::RightAlignment); EXG2ANTTLib::IEditorPtr var_Editor1 = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor1->PutEditType(EXG2ANTTLib::DateType); var_Editor1->PutDropDownAlignment(EXG2ANTTLib::CenterAlignment); EXG2ANTTLib::IEditorPtr var_Editor2 = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor2->PutEditType(EXG2ANTTLib::DateType); var_Editor2->PutDropDownAlignment(EXG2ANTTLib::LeftAlignment); EXG2ANTTLib::IEditorPtr var_Editor3 = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor3->PutEditType(EXG2ANTTLib::DateType); var_Editor3->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20)); EXG2ANTTLib::IEditorPtr var_Editor4 = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor4->PutEditType(EXG2ANTTLib::DateType); var_Editor4->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20 | EXG2ANTTLib::CenterAlignment)); EXG2ANTTLib::IEditorPtr var_Editor5 = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor5->PutEditType(EXG2ANTTLib::DateType); var_Editor5->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20 | EXG2ANTTLib::RightAlignment)); |
1591 |
How can I align the drop down portion rather the inside captions
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DropDown")))->GetEditor()->PutEditType(EXG2ANTTLib::DateType); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor->PutEditType(EXG2ANTTLib::DateType); var_Editor->PutDropDownAlignment(EXG2ANTTLib::AlignmentEnum(0x20)); EXG2ANTTLib::IEditorPtr var_Editor1 = var_Items->GetCellEditor(var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()),long(0)); var_Editor1->PutEditType(EXG2ANTTLib::DateType); var_Editor1->PutDropDownAlignment(EXG2ANTTLib::exHOutside); var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); |
1590 |
Is it possible to show a message that the field is empty
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Float"))); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::MaskType); var_Editor->PutMask(L";;;float,digits=0,grouping=,invalid=empty,warning=invalid character"); spG2antt1->GetItems()->AddItem(long(192278)); spG2antt1->GetItems()->AddItem(long(1000)); |
1589 |
How can I mask a date
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutCauseValidateValue(EXG2ANTTLib::exValidateCell); spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->GetColumns()->Add(L"Date"); spG2antt1->GetColumns()->Add(L"Mask"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(h,long(0)); var_Editor->PutEditType(EXG2ANTTLib::DateType); var_Editor->PutMask(_bstr_t("{1,12}/{1,31}/{1950,2050};1;;select=1,warning=Invalid character!,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</") + "b>!,validateas=1"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IEditorPtr var_Editor1 = var_Items->GetCellEditor(h,long(0)); var_Editor1->PutEditType(EXG2ANTTLib::DateType); var_Editor1->PutMask(_bstr_t("!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,") + "select=4,overtype"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IEditorPtr var_Editor2 = var_Items->GetCellEditor(h,long(0)); var_Editor2->PutEditType(EXG2ANTTLib::DateType); var_Editor2->PutMask(_bstr_t("!99/99/9999;;;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s") + "elect=4,overtype"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IEditorPtr var_Editor3 = var_Items->GetCellEditor(h,long(0)); var_Editor3->PutEditType(EXG2ANTTLib::DateType); var_Editor3->PutMask(_bstr_t("!99/99/9999;; ;select=4,overtype,empty,warning=Invalid character!,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'<") + "/b>!,validateas=1"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IEditorPtr var_Editor4 = var_Items->GetCellEditor(h,long(0)); var_Editor4->PutEditType(EXG2ANTTLib::DateType); var_Editor4->PutMask(_bstr_t("![0-9 ][0-9 ]/[0-9 ][0-9 ]/[0-9 ][0-9 ][0-9 ][0-9 ];1;;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%") + "mask%>'</b>!,warning=Invalid character!,select=4,leading= "); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Items->PutFormatCell(h,long(0),L"len(value) ? shortdateF(value) : ``"); EXG2ANTTLib::IEditorPtr var_Editor5 = var_Items->GetCellEditor(h,long(0)); var_Editor5->PutEditType(EXG2ANTTLib::DateType); var_Editor5->PutMask(_bstr_t("!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,") + "select=4,overtype,leading"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Items->PutFormatCell(h,long(0),L"len(value) ? shortdateF(value) : ``"); EXG2ANTTLib::IEditorPtr var_Editor6 = var_Items->GetCellEditor(h,long(0)); var_Editor6->PutEditType(EXG2ANTTLib::DateType); var_Editor6->PutMask(_bstr_t("!00/00/0000;1;;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,") + "select=4,overtype,leading"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Items->PutFormatCell(h,long(0),L"len(value) ? shortdateF(value) : ``"); EXG2ANTTLib::IEditorPtr var_Editor7 = var_Items->GetCellEditor(h,long(0)); var_Editor7->PutEditType(EXG2ANTTLib::DateType); var_Editor7->PutMask(_bstr_t("!00/00/0000;;0;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,") + "select=4,overtype"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); h = var_Items->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Items->PutFormatCell(h,long(0),L"len(value) ? shortdateF(value) : ``"); EXG2ANTTLib::IEditorPtr var_Editor8 = var_Items->GetCellEditor(h,long(0)); var_Editor8->PutEditType(EXG2ANTTLib::DateType); var_Editor8->PutMask(_bstr_t("!00/00/0000;;;empty,validateas=1,invalid=Invalid date\\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s") + "elect=1,overtype"); var_Items->PutCellValue(h,long(1),var_Items->GetCellEditor(h,long(0))->GetMask()); spG2antt1->EndUpdate(); |
1588 |
How can I display and edit an integer number to show grouping digits too ( no decimals)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Float"))); var_Column->PutFormatColumn(L"value format `0`"); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::MaskType); var_Editor->PutMask(L";;;float,digits=0"); spG2antt1->GetItems()->AddItem(long(192278)); |
1587 |
How can I display and edit a float number to show grouping digits too
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Float"))); var_Column->PutFormatColumn(L"value format ``"); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::MaskType); var_Editor->PutMask(L";;;float"); spG2antt1->GetItems()->AddItem(long(192278)); |
1586 |
How can I mask a phone number
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutCauseValidateValue(EXG2ANTTLib::exValidateCell); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines); spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Phone")))->GetEditor()->PutEditType(EXG2ANTTLib::MaskType); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem(vtMissing); EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(h,long(0)); var_Editor->PutEditType(EXG2ANTTLib::MaskType); var_Editor->PutMask(_bstr_t("!(999) 000 0000;1;;select=1,empty,overtype,warning=invalid characer,invalid=The value you entered isn't appropriate for the inp") + "ut mask <b>'<%mask%>'</b> specified for this field."); h = var_Items->AddItem("0123"); EXG2ANTTLib::IEditorPtr var_Editor1 = var_Items->GetCellEditor(h,long(0)); var_Editor1->PutEditType(EXG2ANTTLib::MaskType); var_Editor1->PutMask(L"!(999) 000 0000;2;;select=4"); h = var_Items->AddItem("0123"); EXG2ANTTLib::IEditorPtr var_Editor2 = var_Items->GetCellEditor(h,long(0)); var_Editor2->PutEditType(EXG2ANTTLib::MaskType); var_Editor2->PutMask(L"`Phone: `!(999) 000-0000"); h = var_Items->AddItem("(074) 876-1222"); EXG2ANTTLib::IEditorPtr var_Editor3 = var_Items->GetCellEditor(h,long(0)); var_Editor3->PutEditType(EXG2ANTTLib::MaskType); var_Editor3->PutMask(L"!(999) 000-0000;0"); |
1585 |
Is it possible to display the ColorType fields using RGB format
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Color")))->GetEditor()->PutEditType(EXG2ANTTLib::ColorType); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(long(255)); long h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(h,long(0)); var_Editor->PutEditType(EXG2ANTTLib::ColorType); var_Editor->PutMask(L"`RGB(`{0,255}\\,{0,255}\\,{0,255}`)`;;0"); h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor1 = var_Items->GetCellEditor(h,long(0)); var_Editor1->PutEditType(EXG2ANTTLib::ColorType); var_Editor1->PutMask(L"`&H`XXXXXXXX`&`;;0;overtype,insertype,warning=Wrong!"); h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor2 = var_Items->GetCellEditor(h,long(0)); var_Editor2->PutEditType(EXG2ANTTLib::ColorType); var_Editor2->PutMask(L"`0x`XX `0x`XX `0x`XX;;0;overtype,insertype,warning=Wrong!"); h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor3 = var_Items->GetCellEditor(h,long(0)); var_Editor3->PutEditType(EXG2ANTTLib::ColorType); var_Editor3->PutMask(L"R{0,255} G{0,255} B{0,255};;0;overtype,insertype,warning=Wrong!"); h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor4 = var_Items->GetCellEditor(h,long(0)); var_Editor4->PutEditType(EXG2ANTTLib::ColorType); var_Editor4->PutMask(L"`(hexa) RGB 0x`XXXXXX;;0;overtype,insertype,warning=Wrong!"); h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor5 = var_Items->GetCellEditor(h,long(0)); var_Editor5->PutEditType(EXG2ANTTLib::ColorType); var_Editor5->PutMask(L"`(decimal) Red: `{0,255}` Green: `{0,255}` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!"); h = var_Items->AddItem(long(255)); EXG2ANTTLib::IEditorPtr var_Editor6 = var_Items->GetCellEditor(h,long(0)); var_Editor6->PutEditType(EXG2ANTTLib::ColorType); var_Editor6->PutMask(L"`(combine) Red: `{0,255}` Green: 0x`XX` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!"); |
1584 |
How can I specify a different color for bars that cross over the non-working part of the chart
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars(); var_Bars->Copy(L"Task",L"STask")->PutColor(RGB(255,0,0)); var_Bars->Add(L"Task:STask")->PutShortcut(L"TS"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,96); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutNonworkingDaysColor(var_Chart->GetBars()->GetItem("STask")->GetColor()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Task 1"),"TS",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),vtMissing,vtMissing); |
1583 |
How can I merge two columns
// AddItem event - Occurs after a new Item has been inserted to Items collection. void OnAddItemG2antt1(long Item) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->PutCellMerge(Item,long(0),long(1)); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); spG2antt1->PutTreeColumnIndex(-1); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"C1")))->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE); spG2antt1->GetColumns()->Add(L"C2"); spG2antt1->GetColumns()->Add(L"C3"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines."); var_Items->AddItem("This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines."); |
1582 |
How can I expand an item once the user clicks the column's checkbox
|
1581 |
How can I define a column with check-box
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L""))); var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(18); var_Column->PutPartialCheck(VARIANT_TRUE); var_Columns->Add(L"Tasks"); spG2antt1->PutShowFocusRect(VARIANT_FALSE); spG2antt1->PutHasButtons(EXG2ANTTLib::exNoButtons); spG2antt1->PutTreeColumnIndex(1); spG2antt1->PutIndent(14); spG2antt1->PutExpandOnDblClick(VARIANT_FALSE); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem(""); var_Items->PutCellState(h,long(0),1); var_Items->PutCellValue(h,long(1),"Project"); long hChild = var_Items->InsertItem(h,vtMissing,""); var_Items->PutCellValue(hChild,long(1),"Task 1"); hChild = var_Items->InsertItem(h,vtMissing,""); var_Items->PutCellValue(hChild,long(1),"Task 2"); var_Items->PutExpandItem(h,VARIANT_TRUE); spG2antt1->EndUpdate(); |
1580 |
We need to know how it's possibile to have the bars on the same line and not in a different line
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); var_Chart->PutFirstVisibleDate(COleDateTime(2002,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::OverlaidBarsTypeEnum(EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsStack)); var_Chart->PutPaneWidth(VARIANT_FALSE,128); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Tasks"); var_Items->AddBar(h,"Task",COleDateTime(2002,1,2,0,00,00).operator DATE(),COleDateTime(2002,1,7,0,00,00).operator DATE(),"A",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2002,1,3,0,00,00).operator DATE(),COleDateTime(2002,1,8,0,00,00).operator DATE(),"B",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2002,1,4,0,00,00).operator DATE(),COleDateTime(2002,1,9,0,00,00).operator DATE(),"C",vtMissing); var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarColor,long(255)); var_Items->AddLink("AB",h,"A",h,"B"); var_Items->AddLink("BC",h,"B",h,"C"); spG2antt1->EndUpdate(); |
1579 |
The Change event gets me the today date. How can I find what user typed
// Change event - Occurs when the user changes the cell's content. void OnChangeG2antt1(long Item,long ColIndex,VARIANT FAR* NewValue) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"NewValue:" ); OutputDebugStringW( L"NewValue" ); OutputDebugStringW( L"EditingValue:" ); OutputDebugStringW( spG2antt1->GetEditingText() ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit")))->GetEditor()->PutEditType(EXG2ANTTLib::DateType); spG2antt1->GetItems()->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); spG2antt1->EndUpdate(); |
1578 |
How can I add a footer row
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutShowLockedItems(VARIANT_TRUE); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exVLines); spG2antt1->GetColumns()->Add(L"C1"); spG2antt1->GetColumns()->Add(L"C2"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutLockedItemCount(EXG2ANTTLib::exBottom,1); long h = var_Items->GetLockedItem(EXG2ANTTLib::exBottom,0); var_Items->PutItemBackColor(h,RGB(128,128,128)); var_Items->PutItemForeColor(h,RGB(255,255,255)); var_Items->PutCellValue(h,long(0),"footer c1"); var_Items->PutCellValue(h,long(1),"footer c2"); var_Items->PutCellValue(var_Items->AddItem("cell"),long(1),"cell"); |
1577 |
How can I add a header row
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutShowLockedItems(VARIANT_TRUE); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exVLines); spG2antt1->GetColumns()->Add(L"C1"); spG2antt1->GetColumns()->Add(L"C2"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutLockedItemCount(EXG2ANTTLib::exTop,1); long h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,0); var_Items->PutItemBackColor(h,RGB(128,128,128)); var_Items->PutItemForeColor(h,RGB(255,255,255)); var_Items->PutCellValue(h,long(0),"footer c1"); var_Items->PutCellValue(h,long(1),"footer c2"); var_Items->PutCellValue(var_Items->AddItem("cell"),long(1),"cell"); |
1576 |
How can I fix a column, while other sizable and fill the control's client
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutColumnAutoResize(VARIANT_TRUE); spG2antt1->GetColumns()->Add(L"Sizable"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"F"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(16); |
1575 |
How can I programmatically add more columns to the sort bar and other to be sorted, but not included in the sort bar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutSortBarVisible(VARIANT_TRUE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"0"); var_Columns->Add(L"1"); var_Columns->Add(L"2"); var_Columns->Add(L"3"); var_Columns->Add(L"4"); spG2antt1->PutLayout(L"multiplesort=\"C3:1 C4:2\";singlesort=\"C2:1\""); |
1574 |
I'm using different bar types, in order to use different colours. The problem I'm having is that when two bars of different types overlap, and should in the histogram show as overallocated, they instead overlap here too, and show as single unit. Is there a way I can correctly show this as an overallocation
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutHistogramVisible(VARIANT_TRUE); var_Chart->PutHistogramHeight(32); var_Chart->GetBars()->GetItem("Task")->PutHistogramPattern(EXG2ANTTLib::exPatternBDiagonal); var_Chart->PutPaneWidth(VARIANT_FALSE,128); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Item 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); long h = var_Items->AddItem("Item 2"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255)); var_Items->AddBar(var_Items->AddItem("Item 3"),"Task",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),vtMissing,vtMissing); |
1573 |
Is it possible to assign a different EBN to a specified bar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,"c:\\exontrol\\images\\normal.ebn"); var_Appearance->Add(2,"c:\\exontrol\\images\\pushed.ebn"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,128); spG2antt1->GetColumns()->Add(L"Tasks"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Task 1"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("Task 2"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255)); h = var_Items->AddItem("Task 3"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(16777216)); h = var_Items->AddItem("Task 4"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(16777471)); h = var_Items->AddItem("Task 5"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(33619967)); spG2antt1->EndUpdate(); |
1572 |
How can I provide a mask for a date column
// Change event - Occurs when the user changes the cell's content. void OnChangeG2antt1(long Item,long ColIndex,VARIANT FAR* NewValue) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"Prev Value " ); OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetCellValue(Item,ColIndex)) ); OutputDebugStringW( L"Check and Update the NewValue" ); OutputDebugStringW( L"NewValue" ); NewValue = COleDateTime(2001,1,1,0,00,00).operator DATE(); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date"))); var_Column->PutFormatColumn(L"day(value) + `/` + month(value) + `/` + year(value)"); EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::DateType); var_Editor->PutMask(L"{1,12}\\/{1,31}\\/{1,2099}"); spG2antt1->GetItems()->AddItem(COleDateTime(2001,1,1,0,00,00).operator DATE()); spG2antt1->EndUpdate(); |
1571 |
I am trying to introduce a custom tool tip to those particular cells. I have it working and I know I can style the font etc. however, what I would like to do is style the tooltip container itself like add some padding or add a border color. Is this possible
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutToolTipDelay(1); spG2antt1->PutToolTipWidth(364); spG2antt1->GetVisualAppearance()->Add(1,"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\EBN\\frame.ebn"); spG2antt1->PutBackground(EXG2ANTTLib::exToolTipAppearance,0x1000000); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column"); |
1570 |
Is it possible to edit a float number without using of e/E/d/D (exponent) and +/- (signs) characters
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::EditType); var_Editor->PutNumeric(EXG2ANTTLib::NumericEnum(EXG2ANTTLib::exDisableSigns | EXG2ANTTLib::exFloatInteger)); spG2antt1->GetItems()->AddItem(double(1.22)); |
1569 |
How can I edit a float number with no using of e/E/d/D and + character
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::EditType); var_Editor->PutNumeric(EXG2ANTTLib::NumericEnum(EXG2ANTTLib::exDisablePlus | EXG2ANTTLib::exFloatInteger)); spG2antt1->GetItems()->AddItem(double(1.22)); |
1568 |
Is it possible to edit a float number with no using of e/E/d/D (exponent) characters
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::EditType); var_Editor->PutNumeric(EXG2ANTTLib::exFloatInteger); spG2antt1->GetItems()->AddItem(double(1.22)); |
1567 |
How can I edit an integer with no using of +/- signs
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit")))->GetEditor(); var_Editor->PutEditType(EXG2ANTTLib::EditType); var_Editor->PutNumeric(EXG2ANTTLib::NumericEnum(0xfc | EXG2ANTTLib::exDisableSigns | EXG2ANTTLib::exFloatInteger | EXG2ANTTLib::exFloat)); spG2antt1->GetItems()->AddItem(long(1)); |
1566 |
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Value"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"CellSingleLine = False"))); var_Column->PutComputedField(L"%0"); var_Column->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"FormatColumn/replace CRLF"))); var_Column1->PutComputedField(L"%0"); var_Column1->PutFormatColumn(L"value replace `\\r\\n` with ``"); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"FormatColumn/replace TAB,CRLF"))); var_Column2->PutComputedField(L"%0"); var_Column2->PutFormatColumn(L"(value replace `\\t` with ``) replace `\\r\\n` with ``"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("a\\ta\\r\\nb\\tb"); |
1565 |
I am using the Chart.ShowLinksColor property, the question is it is possible to prevent changing the bar's color
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDefaultItemHeight(24); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,48); var_Chart->PutNonworkingDays(0); var_Chart->PutLinksStyle(EXG2ANTTLib::exLinkSolid); var_Chart->PutShowLinksColor(EXG2ANTTLib::ShowLinksEnum(EXG2ANTTLib::exUpdateColorLinksOnly | EXG2ANTTLib::exShowLinksStartFrom),RGB(255,0,0)); var_Chart->PutShowLinksColor(EXG2ANTTLib::ShowLinksEnum(EXG2ANTTLib::exUpdateColorLinksOnly | EXG2ANTTLib::exShowLinksEndTo),RGB(0,255,0)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Task 1"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); long h2 = var_Items->AddItem("Task 2"); var_Items->AddBar(h2,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->PutItemBar(h2,"",EXG2ANTTLib::exBarSelected,VARIANT_TRUE); var_Items->AddLink("L1",h1,"",h2,""); long h3 = var_Items->AddItem("Task 3"); var_Items->AddBar(h3,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->AddLink("L2",h2,"",h3,""); var_Items->SchedulePDM(0,""); spG2antt1->EndUpdate(); |
1564 |
Apparently, the links are shown on the back. Is there any option to bring them in front
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Tasks"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,19,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,64); var_Chart->PutNonworkingDaysPattern(EXG2ANTTLib::exPatternSolid); var_Chart->PutShowLinks(EXG2ANTTLib::ShowExtendedLinksEnum(EXG2ANTTLib::exShowLinksFront | EXG2ANTTLib::exShowExtendedLinks)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Task 1"); var_Items->AddBar(h1,"Task",COleDateTime(2006,9,20,0,00,00).operator DATE(),COleDateTime(2006,9,22,0,00,00).operator DATE(),vtMissing,vtMissing); long h2 = var_Items->AddItem("Task 2"); var_Items->AddBar(h2,"Task",COleDateTime(2006,9,26,0,00,00).operator DATE(),COleDateTime(2006,9,28,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h2,"",EXG2ANTTLib::exBarSelected,VARIANT_TRUE); var_Items->AddLink("L1",h1,"",h2,""); var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1"); spG2antt1->EndUpdate(); |
1563 |
How can I enable the extended links feature
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDefaultItemHeight(24); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,48); var_Chart->PutNonworkingDays(0); var_Chart->PutLinksStyle(EXG2ANTTLib::exLinkSolid); var_Chart->PutShowLinks(EXG2ANTTLib::exShowExtendedLinks); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Task 1"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); long h2 = var_Items->AddItem("Task 2"); var_Items->AddBar(h2,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->AddLink("L1",h1,"",h2,""); long h3 = var_Items->AddItem("Task 3"); var_Items->AddBar(h3,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->AddLink("L2",h3,"",h2,""); var_Items->SchedulePDM(0,""); spG2antt1->EndUpdate(); |
1562 |
How do I count all bars in the chart
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Task"); var_Items->AddBar(hSummary,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.1"),"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K11",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.2"),"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K12",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K2",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task B.1"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K21",vtMissing); var_Items->PutExpandItem(0,VARIANT_TRUE); OutputDebugStringW( L"Count: " ); OutputDebugStringW( _bstr_t(var_Items->GetItemBar(0,"<*>",EXG2ANTTLib::exBarsCount)) ); spG2antt1->EndUpdate(); |
1561 |
Is there any property to count the all child bars of a specified item ( all descendents )
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->Copy(L"Task",L"CountTask")->PutColor(RGB(0,255,0)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Project"); var_Items->PutItemBold(hSummary,VARIANT_TRUE); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"CountTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.1"),"CountTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K11",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.2"),"CountTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K12",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"CountTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K2",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task B.1"); var_Items->AddBar(hTask,"CountTask",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K21",vtMissing); var_Items->PutExpandItem(0,VARIANT_TRUE); var_Items->PutDefaultItem(var_Items->GetItemByIndex(0)); OutputDebugStringW( L"Count: " ); OutputDebugStringW( _bstr_t(var_Items->GetItemBar(-3,"<*>",EXG2ANTTLib::exBarsCount)) ); var_Items->PutDefaultItem(0); spG2antt1->EndUpdate(); |
1560 |
Is there any property to count the child bars of a specified item ( leaf descendents )
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->Copy(L"Task",L"CountTask")->PutColor(RGB(0,255,0)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Project"); var_Items->PutItemBold(hSummary,VARIANT_TRUE); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.1"),"CountTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K11",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.2"),"CountTask",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K12",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K2",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task B.1"); var_Items->AddBar(hTask,"CountTask",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K21",vtMissing); var_Items->PutExpandItem(0,VARIANT_TRUE); var_Items->PutDefaultItem(var_Items->GetItemByIndex(0)); OutputDebugStringW( L"Count: " ); OutputDebugStringW( _bstr_t(var_Items->GetItemBar(-2,"<*>",EXG2ANTTLib::exBarsCount)) ); var_Items->PutDefaultItem(0); spG2antt1->EndUpdate(); |
1559 |
Is there any property to count the child bars of a specified item ( direct descendents )
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->Copy(L"Task",L"CountTask")->PutColor(RGB(0,255,0)); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Project"); var_Items->PutItemBold(hSummary,VARIANT_TRUE); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"CountTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.1"),"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K11",vtMissing); var_Items->AddBar(var_Items->InsertItem(hTask,vtMissing,"Task A.2"),"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K12",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"CountTask",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K2",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task B.1"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K21",vtMissing); var_Items->PutExpandItem(0,VARIANT_TRUE); var_Items->PutDefaultItem(var_Items->GetItemByIndex(0)); OutputDebugStringW( L"Count: " ); OutputDebugStringW( _bstr_t(var_Items->GetItemBar(-1,"<*>",EXG2ANTTLib::exBarsCount)) ); var_Items->PutDefaultItem(0); spG2antt1->EndUpdate(); |
1558 |
How can I define all child items to belong to a summary bar (DefineSummaryBars-3)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Summary"); var_Items->AddBar(hSummary,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"",vtMissing); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task A.1"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K11",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K2",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task B.1"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K21",vtMissing); var_Items->DefineSummaryBars(hSummary,"",-3,"<K*>"); var_Items->PutExpandItem(0,VARIANT_TRUE); spG2antt1->EndUpdate(); |
1557 |
Can I define automatically the leaf descendents of the summary bar (DefineSummaryBars-2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Summary"); var_Items->AddBar(hSummary,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"",vtMissing); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"1Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task A.1"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K11",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"1Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K2",vtMissing); hTask = var_Items->InsertItem(hTask,vtMissing,"Task B.1"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K21",vtMissing); var_Items->DefineSummaryBars(hSummary,"",-2,"<K*>"); var_Items->PutExpandItem(0,VARIANT_TRUE); spG2antt1->EndUpdate(); |
1556 |
How can I assign the childs bars to a summary bar (DefineSummaryBars-1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Summary"); var_Items->AddBar(hSummary,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"",vtMissing); long hTask = var_Items->InsertItem(hSummary,vtMissing,"Task A"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); hTask = var_Items->InsertItem(hSummary,vtMissing,"Task B"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K2",vtMissing); var_Items->PutExpandItem(hSummary,VARIANT_TRUE); var_Items->DefineSummaryBars(hSummary,"",-1,"<*>"); spG2antt1->EndUpdate(); |
1555 |
Is it possible to define a summary bar to include all bars in the chart (DefineSummaryBars-0)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Summary"); var_Items->AddBar(hSummary,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"summary",vtMissing); var_Items->AddBar(var_Items->AddItem("Task A"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); var_Items->AddBar(var_Items->AddItem("Task B"),"Task",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"K2",vtMissing); var_Items->AddBar(var_Items->AddItem("Task C"),"Task",COleDateTime(2001,1,11,0,00,00).operator DATE(),COleDateTime(2001,1,14,0,00,00).operator DATE(),"K3",vtMissing); var_Items->DefineSummaryBars(hSummary,"summary",0,"<K*>"); spG2antt1->EndUpdate(); |
1554 |
Is there any way to "unselect" radio group
// DblClick event - Occurs when the user dblclk the left mouse button over an object. void OnDblClickG2antt1(short Shift,long X,long Y) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->GetCellChecked(1234); var_Items->PutCellHasCheckBox(long(0),h,VARIANT_TRUE); var_Items->PutCellState(long(0),h,0); var_Items->PutCellHasCheckBox(long(0),h,VARIANT_FALSE); } // SelectionChanged event - Fired after a new item has been selected. void OnSelectionChangedG2antt1() { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellState(var_Items->GetFocusItem(),long(0),1); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); spG2antt1->PutSelBackColor(RGB(255,255,128)); spG2antt1->PutSelForeColor(RGB(0,0,0)); spG2antt1->GetColumns()->Add(L"Default"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Radio 1"); var_Items->PutCellHasRadioButton(h,long(0),VARIANT_TRUE); var_Items->PutCellRadioGroup(h,long(0),1234); h = var_Items->AddItem("Radio 2"); var_Items->PutCellHasRadioButton(h,long(0),VARIANT_TRUE); var_Items->PutCellRadioGroup(h,long(0),1234); var_Items->PutCellState(h,long(0),1); h = var_Items->AddItem("Radio 3"); var_Items->PutCellHasRadioButton(h,long(0),VARIANT_TRUE); var_Items->PutCellRadioGroup(h,long(0),1234); |
1553 |
The Column.Alignment property does not seem to work for cells with images in them. What can be done
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spG2antt1->PutTreeColumnIndex(-1); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutHeaderHeight(24); spG2antt1->PutDefaultItemHeight(24); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Image"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(32); var_Column->PutHTMLCaption(L"<img>1</img>"); var_Column->PutHeaderAlignment(EXG2ANTTLib::CenterAlignment); var_Column->PutAlignment(EXG2ANTTLib::CenterAlignment); var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); spG2antt1->GetColumns()->Add(L"Rest"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("<img>1</img>"); var_Items->AddItem("<img>2</img>"); var_Items->AddItem("<img>3</img>"); spG2antt1->EndUpdate(); |
1552 |
Is there any way to determine in a bar would overlay another bar or to not allow this and get some error indication
// BarResize event - Occurs when a bar is moved or resized. void OnBarResizeG2antt1(long Item,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->Refresh(); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDefaultItemHeight(22); spG2antt1->GetColumns()->Add(L"InterectBars"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,48); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task"); var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsIntersect); var_Bar->PutOverlaid(EXG2ANTTLib::exOverlaidBarsIntersect,"ERROR"); EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->Add(L"ERROR"); var_Bar1->PutColor(RGB(255,0,0)); var_Bar1->PutPattern(EXG2ANTTLib::exPatternSolid); var_Bar1->PutHeight(7); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem(""); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A","A"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"B","B"); var_Items->PutCellValue(h,long(0),var_Items->GetIntersectBars(h,"A",h,"B")); h = var_Items->AddItem(""); var_Items->AddBar(h,"Task",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"A","A"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,10,0,00,00).operator DATE(),COleDateTime(2001,1,13,0,00,00).operator DATE(),"B","B"); var_Items->PutCellValue(h,long(0),var_Items->GetIntersectBars(h,"A",h,"B")); h = var_Items->AddItem(""); var_Items->AddBar(h,"Task",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,9,0,00,00).operator DATE(),"B","B"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,10,0,00,00).operator DATE(),COleDateTime(2001,1,13,0,00,00).operator DATE(),"A","A"); var_Items->PutCellValue(h,long(0),var_Items->GetIntersectBars(h,"A",h,"B")); spG2antt1->EndUpdate(); |
1551 |
Is it possible to change the font size of the header compared to that of the control. I would like to make the font of the headers smaller
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutHeaderHeight(32); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"ID"))); var_Column->PutHTMLCaption(L"<font ;16>ID"); var_Column->PutWidth(32); var_Column->PutAllowSizing(VARIANT_FALSE); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Task")))->PutHTMLCaption(L"<font ;16>Task"); spG2antt1->PutFocusColumnIndex(1); spG2antt1->PutShowFocusRect(VARIANT_FALSE); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem(long(1)),long(1),"Task A"); var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),"Task B"); spG2antt1->EndUpdate(); |
1550 |
How can I create items and bars at runtime
|
1549 |
How can I a group summary bar with a task bar, so when the summary bar changes the task bar will move accordingly
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long hSummary = var_Items->AddItem("Summary"); var_Items->AddBar(hSummary,"Summary",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing); long hTask = var_Items->AddItem("Task A"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(hSummary,"",hTask,""); hTask = var_Items->AddItem("Task B"); var_Items->AddBar(hTask,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->DefineSummaryBars(hSummary,"",hTask,""); |
1548 |
How can I show the bars using a solid color, with no pattern inside
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDefaultItemHeight(24); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); var_Chart->PutNonworkingDays(0); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Solid A"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"B",vtMissing); var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarColor,long(255)); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"C",vtMissing); var_Items->PutItemBar(h,"C",EXG2ANTTLib::exBarColor,long(65280)); h = var_Items->AddItem("Solid B"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing); var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarBackColor,long(255)); var_Items->AddBar(h,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"B",vtMissing); var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarColor,long(255)); var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarBackColor,long(65280)); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"C",vtMissing); var_Items->PutItemBar(h,"C",EXG2ANTTLib::exBarColor,long(16711680)); var_Items->PutItemBar(h,"C",EXG2ANTTLib::exBarBackColor,long(16711935)); spG2antt1->EndUpdate(); |
1547 |
Basically what I am trying to do is replicate MS Project look & feel. Is that possible
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BNUMQAAYAQGKIYBkAKBQAGaAoDDMOQ4QwAAxDCKsEwsACEIrjKCRShyCYZRhGcTALD8EhhECTZKkAYQEiKLoaRzAcwyDAcQRFCKUJxhEYZa") + "i+NobSBQMZqBQgASIUCLZ5ACSYEigAovTULCKwJiWNZDUTRcTxCKQahLLivIhGUYKfgmY5lT5VUT1HS9IShJSmKTlORLOi+M4zUJLc4SVblGz7FyfYDBKygLqqFigLAx" + "dDYTRNfzjHiTKbtGA7MADA4DVTAeC2bC+EYVTytY4sHQrIACZ5iWREMhXTi0E4rTa6dTxaS6KzKGqsZbsNAbHLdHTfVy1Mx1XaobqDJZdaTpdjaTDeJSjVjKdx4TZqSi" + "zjSGJOgcU4RhcIQDDURhIESXwEGgbQJBQQjeggQBiC4NJAluGJrAUB5Lmmc56n4Pp/i+NQjmqdQ5k2J5+AGAAgCgFgEgAHxQAGfoBmAOA2AaAxghgLgOgMIJ4AoER8mE" + "WBSBoNohHKAgZgSYgIHYH4ImCB5OAqBghjiEgcgmIQoioD4IiKGJGCsUgUHiVirmOBQVAEgI="); var_Appearance->Add(39,"CP:1 -1 -1 0 0"); var_Appearance->Add(40,_bstr_t("gBFLBCJwBAEHhEJAEGg4BEcMQAAYAQGKIYBkAKBQAGaAoDDMOQ4QwAAxDCKsEwsACEIrjKCRShyCYZRhGcTAFD8EhhECTZKkAZwEiKLoaRzAcwyDAcQRFCKUJxlKa5P") + "jaLwAAbJMZKAqDDgBIijIqnKA5JoyKIkTzCIJxXScByDGqNaQoehYXhEMg1CTXVgRCKoYTDBKybLqGT6VoCP5vWJaURWHZFTTJOyNagmSJ6XACbQMW7gNYQGBEEigNIx" + "ToOU4jFDGIB2VAQRK5BDQbQSFCpIRCCRQYhcQJ6YIAD76HomS5NU7UNKhHSdMy3J6ra5sOqbBqWa5LWjbNq3DadSzvPKub5vexwHwWawSUDkOR5Li+M43S4JPS5bZdDx" + "PiWVJrnWOw9F6XxTiGWpsHcO5+C6Xx7kOZpwHoOxeF8T4fkeYJgnEdZwOwQRBnSex9H6f4vk+c5xn4fZQhQBCAg=="); var_Appearance->Add(41,_bstr_t("gBFLBCJwBAEHhEJAEGg4BQICg6AADACAxRDAMkOQAGaAoDDUMQyQwAAxDSK8EwsACEIrjKCRShyCYZRhGcTALBMIwKGABIRGUZJGDkOYgDCBEhTHDUOwHGyQYDkCQoR") + "iYMAwTBQMaTXDdCQ1ECkJomObqAgkMZCTbKMySAA0NgPD6sKSjOIRSDUJZcV5EoAKfiqZIRSJSMZVLLVNSVJipAAlOTZPo6JJuTLOE4WVRcSydH6oAApeg6KoYAFzQAE" + "DCbYgOTKBYLUOCwTZmDwTK6BcTtXDbejeYYcZ7DNj2NYtJ4TRCBcpzLLIXrCKg0TBPQ4YNC2DT5VDWIq1aDdQo7MpxWjlGI5Ri2c51UDSYi0G4tDyLSYWXDfFSQTrHDQ" + "XhAAghCUAxJgyaB1DkGRyDCKBhAiGwLg0DYhCKDI8CcVwIAwRotBeAYCCmBZ0nsfR+n+L5PlYE53BwTpzn4AIAiAGAOAMfZfmeVBwDuD54C4DYDCCaA6AgQJfHGPJtD+" + "YRoGIF4GGGrAAH2RpjjCf4IGIOIKCSCQhmeXBtDqT54i4LYLCKaI6CkfRGlOKgtg2IxYl4OoMkwIYwmkP5jmkAg/hAZAYnAaw6A+eQeEmEgkikKg8BqDkYFCFIlBkThT" + "g8BoThif4WGWORqFyFwjkGIJlD+ZgphIY4ZGYWYEmSGQmjGIhthvMpwGcOJPnmTh1h0JxploPAZg4I5+HyH4nlmfh/g8BhTgSf4hGgegagiIlShCYA/miahCg+JBpUIY" + "w3k+ehehmJgpioaoWDeKYagAY4oioSZFn2BQfFGCJdD+aoqjKK4rGqWJwGENwPnqTo1i1gtiBgDYzn6PIviuWp+j+DwFnMaJ/jEbB7BqSIyCOQR4lkP5smsQpPjQbQbD" + "SWI0C0cR6lmNpqGMCgJDCBZTFyf44G4O4KmSOWTnCVg/m6K4ymuOxu4OWw1E+e5OnWPQvGvYgWg0Q5+nyP4vlvE+OBMTJ/kEcB8BsCJCDATArA6QhxAgeIgkScRMFcFp" + "FlCFAEICA"); var_Appearance->Add(42,_bstr_t("gBFLBCJwBAEHhEJAEGg4BY8MQAAYAQGKIYBkAKBQAGaAoDDMOQ4QwAAwjQLMEwsACEIrjKCRShyCYZRhGcTALD8EhhECTZKkAYgEiKLoaRzAcwyDAcQRFCKUJxhEY5a") + "i+NobRCAUiwHQUBr/I4AKLfeJ5dACKYNShRMrSABMNgZBKpJAqKiqJoiFoRDINIi2BYUIhqGCxYRseyZegmEYWVTREr3HKsVTtAanjZSJakXxnGaQJ7jKaLXo6II8YTI" + "WBABaIAQiBahQArOiKchaTZ5YheFRYVBOG4bK6BcguW4qGxSXpuRxZOo2YAFVzNNC3YzkCIcegnIp9ZxeFK5Tg1Z4XKTaNwqPBcYpHPqdVhCOgYZwUb5XMjWNatLYIbo" + "ziiUhzCAeJeG6ZAAAiBIUA0JgziGVJkGUGJIBgUYSBEN5VBoGxCEUHItjSFAxBcRhim4dIqFGTB+BUfxfneegAgCYAoBQFR+lQeASAEBRIGESAogMYJ4DoEIEmCaAqAo" + "JoGGCbgYgaIYYG4HoHGICByCKAoKmGZBOgkYh4hoKIKmKKI2CmC5giMBINBgY0AjODRjgiXg6g2I8glUKAHEifhBhAJApBYRIRmQOQmAoOgLBIEhMhOJJZD4UoUGUSRC" + "FaAoOHKPIAhYZY5GoXIXmWaYGF2GJlgKMB9DmZhpiIZ4aGaSYuG6GomigWgGDmCohmYdIdicWZeHqHRnCgHgIh8aAIBoCA/lAECAg"); spG2antt1->PutAppearance(EXG2ANTTLib::AppearanceEnum(0x28000000)); spG2antt1->PutBackColor(RGB(255,255,255)); spG2antt1->PutBackColorLevelHeader(RGB(255,255,255)); spG2antt1->PutBackColorHeader(0x27000000); spG2antt1->PutSelBackColor(RGB(0,0,0)); spG2antt1->PutSelForeColor(RGB(255,255,255)); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutBackColorLevelHeader(0x27000000); var_Chart->PutBackColor(RGB(255,255,255)); var_Chart->GetBars()->GetItem("Task")->PutColor(0x2a000000); spG2antt1->PutFilterBarBackColor(0x1000000); spG2antt1->PutBackground(EXG2ANTTLib::exCursorHoverColumn,0x29000000); spG2antt1->PutBackground(EXG2ANTTLib::exToolTipAppearance,0x1000000); spG2antt1->PutBackground(EXG2ANTTLib::exSplitBar,0x1000000); spG2antt1->EndUpdate(); |
1546 |
Is there anyway to change the style of the splitter which separates the list/chart
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn"); spG2antt1->PutBackground(EXG2ANTTLib::exHeaderFilterBarButton,0x1000000); spG2antt1->PutBackground(EXG2ANTTLib::exSplitBar,0x1ff0000); |
1545 |
Does your control support subscript or superscript, in HTML captions
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,64); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item 1"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCaption,"<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18)); |
1544 |
I have noticed that the column's header is changed once the cursor hovers it. Is it possible to change that visual appearance
|
1543 |
Is it possible to change the visual appearance of the columns selector/floating bar(3)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Column 1"); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutVisible(VARIANT_FALSE); spG2antt1->GetVisualAppearance()->Add(2,"c:\\exontrol\\images\\normal.ebn"); spG2antt1->GetVisualAppearance()->Add(3,"c:\\exontrol\\images\\pushed.ebn"); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatAppearance,0x2000000); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatBackColor,0x3000000); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatCaptionBackColor,RGB(246,245,240)); spG2antt1->PutColumnsFloatBarVisible(EXG2ANTTLib::exColumnsFloatBarVisibleIncludeHiddenColumns); |
1542 |
Is it possible to change the visual appearance of the columns selector/floating bar(2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Column 1"); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutVisible(VARIANT_FALSE); spG2antt1->GetVisualAppearance()->Add(3,"c:\\exontrol\\images\\pushed.ebn"); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatBackColor,0x3000000); spG2antt1->PutColumnsFloatBarVisible(EXG2ANTTLib::exColumnsFloatBarVisibleIncludeHiddenColumns); |
1541 |
Is it possible to change the visual appearance of the columns selector/floating bar(1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetVisualAppearance()->Add(2,"c:\\exontrol\\images\\normal.ebn"); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatAppearance,0x2000000); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatBackColor,RGB(246,245,240)); spG2antt1->PutBackground(EXG2ANTTLib::exColumnsFloatCaptionBackColor,RGB(246,245,240)); spG2antt1->PutColumnsFloatBarVisible(EXG2ANTTLib::exColumnsFloatBarVisibleIncludeHiddenColumns); |
1540 |
I am using the ColumnsFloatBarVisible property on True, but still not able to add any column on that list
|
1539 |
Is it possible to list a column to columns selector/floating bar, but still user can use it
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Column 1"); ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutVisible(VARIANT_FALSE); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column 3"))); var_Column->PutVisible(VARIANT_FALSE); var_Column->PutEnabled(VARIANT_FALSE); spG2antt1->PutColumnsFloatBarVisible(EXG2ANTTLib::exColumnsFloatBarVisibleIncludeHiddenColumns); |
1538 |
How can I prevent a specific column not to be listed in the columns selector/floating bar
|
1537 |
Is it possible to change the "Columns" caption being shown in the columns selector/floating bar
|
1536 |
How can I show the columns selector, so the user can drag and drop columns to the view
|
1535 |
The column's header is changed while the cursor hovers it. Is it possible to prevent that
|
1534 |
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item 1"); var_Items->AddItem("Item 2"); var_Items->AddItem("Item 3"); spG2antt1->PutLayout(L"Select=\"0\";SingleSort=\"C0:2\";Columns=1"); spG2antt1->EndUpdate(); |
1533 |
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item 1"); var_Items->AddItem("Item 2"); var_Items->AddItem("Item 3"); spG2antt1->PutLayout(_bstr_t("gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG") + "QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" + "jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI="); spG2antt1->EndUpdate(); |
1532 |
How do I arrange my columns on multiple levels
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutColumnAutoResize(VARIANT_FALSE); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C0"))); var_Column->PutExpandColumns(L"1,2"); var_Column->PutDisplayExpandButton(VARIANT_FALSE); var_Columns->Add(L"C1"); var_Columns->Add(L"C2"); var_Columns->Add(L"C3"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C4"))); var_Column1->PutExpandColumns(L"5,6"); var_Column1->PutDisplayExpandButton(VARIANT_FALSE); var_Columns->Add(L"C5"); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C6"))); var_Column2->PutExpandColumns(L"6,7"); var_Column2->PutDisplayExpandButton(VARIANT_FALSE); var_Columns->Add(L"C7"); spG2antt1->EndUpdate(); |
1531 |
Does your control support expandable header or columns, so I can arrange it on multiple levels
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); spG2antt1->PutBackColorLevelHeader(RGB(240,240,240)); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Photo"))); var_Column->PutAllowSizing(VARIANT_FALSE); var_Column->PutWidth(32); var_Columns->Add(L"Personal Info"); var_Columns->Add(L"Title"); var_Columns->Add(L"Name"); var_Columns->Add(L"First"); var_Columns->Add(L"Last"); var_Columns->Add(L"Address"); var_Columns->GetItem("Personal Info")->PutExpandColumns(L"2,3"); EXG2ANTTLib::IColumnPtr var_Column1 = var_Columns->GetItem("Name"); var_Column1->PutExpandColumns(L"4,5"); var_Column1->PutExpanded(VARIANT_FALSE); spG2antt1->EndUpdate(); |
1530 |
I need a Day/Hour Display where the Bars should be created/resized in a 15 Minute Scale in a normal View, but in a 5 Minute Scale when on an InsideZoom. How can I do that
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto); var_Chart->PutUnitWidth(50); var_Chart->PutFirstVisibleDate(COleDateTime(2013,1,1,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); var_Chart->GetLevel(0)->PutLabel(long(4096)); var_Chart->GetLevel(1)->PutLabel("<%h%>:<%nn%>"); var_Chart->GetLevel(1)->PutUnit(EXG2ANTTLib::exMinute); var_Chart->GetLevel(1)->PutCount(60); var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute); var_Chart->PutResizeUnitCount(15); var_Chart->PutAllowInsideZoom(VARIANT_TRUE); EXG2ANTTLib::IInsideZoomFormatPtr var_InsideZoomFormat = var_Chart->GetDefaultInsideZoomFormat(); var_InsideZoomFormat->PutInsideCount(5); var_InsideZoomFormat->PutInsideUnit(EXG2ANTTLib::exMinute); var_InsideZoomFormat->PutInsideLabel(L"<%nn%>"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Item"); spG2antt1->EndUpdate(); |
1529 |
Can I change the format of date to be shown in the control
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Default"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Format.1"))); var_Column->PutComputedField(L"%0"); var_Column->PutFormatColumn(L"dateF(value) replace `/` with `-`"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Format.2"))); var_Column1->PutComputedField(L"%0"); var_Column1->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column1->PutFormatColumn(L"`<b>`+ shortdate(value) + `</b> ` + timeF(value)"); EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Format.3"))); var_Column2->PutComputedField(L"%0"); var_Column2->PutDef(EXG2ANTTLib::exCellValueFormat,long(1)); var_Column2->PutFormatColumn(_bstr_t("` <b>`+ ( weekday(value) case ( 0 : `Su`; 1 : `Mo`; 2 : `Tu`; 3 : `We`; 4 : `Th`; 5 : `Fr`; 6 : `Sa`) ) + `</b> ` + ( dateF(val") + "ue) replace `/` with `-` )"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem(COleDateTime(2001,1,1,10,00,00).operator DATE()); var_Items->AddItem(COleDateTime(2001,1,2,10,00,00).operator DATE()); |
1528 |
How can I display a text/caption on the chart part of the control
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutAntiAliasing(VARIANT_TRUE); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,26,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,128); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Item 1"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing); var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarCaption,"text"); h1 = var_Items->AddItem("Item 2"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing); var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarCaption,"text outside associated with a bar"); var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarHAlignCaption,long(18)); h1 = var_Items->AddItem("Item 3"); var_Items->AddBar(h1,"",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),"A",vtMissing); var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarCaption,"text with no bar associated"); h1 = var_Items->AddItem("Item 4"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"A",vtMissing); h1 = var_Items->AddItem("Item 5"); h1 = var_Items->AddItem("Item 6"); h1 = var_Items->AddItem("Item 7"); h1 = var_Items->AddItem("Item 8"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing); h1 = var_Items->AddItem("Item 8"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"A",vtMissing); EXG2ANTTLib::INotesPtr var_Notes = spG2antt1->GetChart()->GetNotes(); var_Notes->Add("1S",spG2antt1->GetItems()->GetItemByIndex(3),"A",L"<font ;6>Movable Note Inside the Bar")->PutPartCanMove(EXG2ANTTLib::exNoteStart,VARIANT_TRUE); var_Notes->Add("AK",spG2antt1->GetItems()->GetItemByIndex(6),COleDateTime(2001,1,6,0,00,00).operator DATE(),L"Note associated with a date: <%mm%>/<%dd%>/<%yyyy%>"); EXG2ANTTLib::INotePtr var_Note = var_Notes->Add("2S",spG2antt1->GetItems()->GetItemByIndex(7),"A",L"<font ;6>Fixed Note Left"); var_Note->PutShowLink(EXG2ANTTLib::exNoteLinkHidden); var_Note->PutPartVOffset(EXG2ANTTLib::exNoteEnd,0); var_Note->PutPartHOffset(EXG2ANTTLib::exNoteStart,-32); var_Note->PutPartShadow(EXG2ANTTLib::exNoteEnd,VARIANT_FALSE); var_Note->PutPartBackColor(EXG2ANTTLib::exNoteEnd,RGB(255,255,0)); EXG2ANTTLib::INotePtr var_Note1 = var_Notes->Add("3S",spG2antt1->GetItems()->GetItemByIndex(8),"A",L"Start<br><%mmm%> <%d%> <%yyyy%>"); var_Note1->PutPartCanMove(EXG2ANTTLib::exNoteEnd,VARIANT_TRUE); var_Note1->PutPartHOffset(EXG2ANTTLib::exNoteEnd,-64); var_Note1->PutLinkStyle(EXG2ANTTLib::exLinkDot); var_Note1->PutLinkWidth(2); var_Note1->PutLinkColor(RGB(0,0,255)); EXG2ANTTLib::INotePtr var_Note2 = var_Notes->Add("3F",spG2antt1->GetItems()->GetItemByIndex(8),"A",L"End<br><%mmm%> <%d%> <%yyyy%>"); var_Note2->PutRelativePosition(long(1)); var_Note2->PutPartCanMove(EXG2ANTTLib::exNoteEnd,VARIANT_TRUE); var_Note2->PutLinkStyle(EXG2ANTTLib::exLinkDot); var_Note2->PutLinkWidth(2); var_Note2->PutLinkColor(RGB(0,0,255)); spG2antt1->EndUpdate(); |
1527 |
Which is the best way of change Bar parent
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->PutDebug(VARIANT_TRUE); spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Item 1"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"A",vtMissing); long h2 = var_Items->AddItem("Item 2"); var_Items->AddBar(h2,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"B",vtMissing); long h3 = var_Items->AddItem("Item 3"); var_Items->AddBar(h3,"Task",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"A",vtMissing); var_Items->PutItemBar(h3,"A",EXG2ANTTLib::exBarParent,h1); OutputDebugStringW( L"The Bar A of H3 fails to change the parent to H1 as it has already a bar named A" ); var_Items->PutItemBar(h3,"A",EXG2ANTTLib::exBarParent,h2); OutputDebugStringW( L"The Bar A of H3 can be moved to H2, as it contains no bars with the key A" ); |
1526 |
Is it possible to have a bar in bar
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BS4Dg6AADACAxRDAMgBQKAAzQFAYbBmGaGAAGIZhQgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDKAkRRdDSOYDmGQYDiCIoRShOMIjR") + "LUXxtDYEIRkSZYJAKCTtBwJAAURRULR6ACUYDnSRqGj6CQKRqEVBSLAdKyXJKvaZhGIRSDUJZkWZEIyjBY8EzXNqrIDoGKqYgOQ4XV5TFgxPR9IyhEAaLrleT5TjOII/" + "RpOEpYXSVHxFRAAAYhG4wABCXAAXjYF5Udhlfx3FCvMbqeCcSgOWoDZZRFa0PjVQQtNC4IitGzrMqrNaDSBlGigBauKw3TKlMzye7repOA5+aJGVz7VgfGz7EDjKg0GJ" + "cgMex3lOZB5jgPYHHMaYxjeRBilWbZNG4B49l2do6hkfIhECUhjDoHROEYUYMgEbQMCEEx+lGIY0CQUQJHYGoUgQGBFkgB4FmkOINiMbBrAwQoxngSQMCCYJAG8DYCkM" + "ZJNDOAhAHCbYGGGOBqByB5hiMcJSDORhwjQKoEkKSIgHoEZEDgWJOECSwyGSGwjkWUJUh8HADiiXA6CSRgQliFwcgcSICB2EJkCKDIAB4CAxDgMoOiOIkfA4CoiDCDhA" + "mUEg4hEF4DHKCByA8JYpHIWwbAMIIuC6EIkCiOBwA2QpSHQbgOkoIZMD2GxmnmOhVhUJQiEwYAOAoQZQD6HhnjmaIfBuQ5BlQPQLiMEhuEKIRHmEKA7h+Q5ChQdQPmia" + "hCg+JBnDAAhVCVPpoicHYEAobodicKZqHqGAO0YNA0ikQxKg6IYnAqAZcEGKxqnqOowiUZRSFwYwPAqIZkEOLhrjqaIqB4BAqn6QYwCwKwWkSMZECKLo6jKBA7DKTItW" + "EZBlA8SpRmwRY1G0exYi0HoEEsbpdjcLZrgaYI4kQQo6laOYEFuIpojQCJiHAZgPksAZ0EePBvDuSp0j2bxrmadY+m8QpGnKP4EHwAwAjsCZxiQQQtAgAQrAiQowhKUB" + "/BIcJsEMD5EHETBPBYEhLFwJwZBKMY8G6bAoEaIQMjcIIEkzUZJAscgEEuShyjyKwskucpskQSwuDITJQEyTYzGuMIjBsBBCmiBATjObQDD+UB0E0DxGlCNINASO5PnS" + "MQ7E2Uxu3CbQRguUgYFCVR1H0WxYC2R5xDSDgVWiXA8AyNggksXwPDWQQ3FgL4IHERxsluNpdj6bAqAacQckAEQBQWxfDzF4BUYYqBKhEEQNMDgPQGhFGIDgVwKR3iiC" + "iIIIgig+BfA2MYOLtAqA4ESCYDIFgVDyGEKkPAQgFBDDwG4DYnQzg5GiDIOAZw3hCDoA8MQIA9PeGEHkRIyx6jiOMEoTAxRMhoCeIwUQKSbCKH6NgV43AECyFeEkEQdB" + "TAxC0FESQYhgB+DGPcTwYBXBZEeCIOoKg5j6EIJAbQNxJCjCAMAJwDRxghA4DEBYpk1hnHwH4DIxg3AaFGGgMQFwHhBHgGkewhhCDIHMDkDY0AlAGEAIAgIA="); var_Appearance->Add(2,"c:\\exontrol\\images\\normal.ebn"); var_Appearance->Add(3,"CP:2 2 -4 2 4"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,256); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); spG2antt1->GetColumns()->Add(L"Info"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Range Moveable Frame"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"F",vtMissing); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarToolTip,"This bar can be moved inside the displayed range."); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMinStart,COleDateTime(2001,1,2,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMaxEnd,COleDateTime(2001,1,18,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRange,long(32)); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRangeTransparent,long(90)); h = var_Items->AddItem("Range Moveable Pattern"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,6,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"F",vtMissing); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarToolTip,"This bar can be moved inside the displayed range."); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMinStart,COleDateTime(2001,1,2,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMaxEnd,COleDateTime(2001,1,18,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRange,long(1)); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRangeTransparent,long(90)); h = var_Items->AddItem("Range Moveable EBN Transparent"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,12,0,00,00).operator DATE(),"F",vtMissing); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarToolTip,"This bar can be moved inside the displayed range."); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMinStart,COleDateTime(2001,1,2,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMaxEnd,COleDateTime(2001,1,18,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRange,long(16777216)); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRangeTransparent,long(50)); h = var_Items->AddItem("Range Moveable EBN Opaque 1"); var_Items->PutItemHeight(h,24); var_Items->AddBar(h,"Task",COleDateTime(2001,1,10,0,00,00).operator DATE(),COleDateTime(2001,1,14,0,00,00).operator DATE(),"F",vtMissing); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarToolTip,"This bar can be moved inside the displayed range."); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMinStart,COleDateTime(2001,1,2,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMaxEnd,COleDateTime(2001,1,18,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRange,long(33554432)); h = var_Items->AddItem("Range Moveable EBN Opaque 2"); var_Items->PutItemHeight(h,24); var_Items->AddBar(h,"Task",COleDateTime(2001,1,12,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),"F",vtMissing); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarToolTip,"This bar can be moved inside the displayed range."); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMinStart,COleDateTime(2001,1,2,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarMaxEnd,COleDateTime(2001,1,18,0,00,00).operator DATE()); var_Items->PutItemBar(h,"F",EXG2ANTTLib::exBarShowRange,long(50331648)); spG2antt1->EndUpdate(); |
1525 |
How can I show vertical lines using the SelectDate
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BK8IQAAYAQGKIYBkAKBQAGaAoDDYMwzQwAAxDMKEEwsACEIrjKCRShyCYZRhGcTAFD8EhhECTY4lCQJAiKLoeQLHMBybJ8LwiGQaRJmeaYR") + "DUMI6QjPVARVIkaxhCSSaKpIAIBEB"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE()); var_Chart->PutMarkTodayColor(var_Chart->GetBackColor()); var_Chart->PutLevelCount(2); var_Chart->PutAllowSelectDate(EXG2ANTTLib::exNoSelectDate); var_Chart->PutMarkSelectDateColor(0x1000000); var_Chart->PutSelectLevel(1); var_Chart->PutSelectDate(COleDateTime(2008,1,15,0,00,00).operator DATE(),VARIANT_TRUE); var_Chart->PutSelectDate(COleDateTime(2008,1,18,0,00,00).operator DATE(),VARIANT_TRUE); spG2antt1->EndUpdate(); |
1524 |
How can I show vertical lines using the SelectDate
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE()); var_Chart->PutMarkTodayColor(var_Chart->GetBackColor()); var_Chart->PutLevelCount(2); var_Chart->PutAllowSelectDate(EXG2ANTTLib::exNoSelectDate); var_Chart->PutMarkSelectDateColor(0x7fff0000); var_Chart->PutSelectLevel(1); var_Chart->PutSelectDate(COleDateTime(2008,1,15,0,00,00).operator DATE(),VARIANT_TRUE); var_Chart->PutSelectDate(COleDateTime(2008,1,18,0,00,00).operator DATE(),VARIANT_TRUE); spG2antt1->EndUpdate(); |
1523 |
How can I find if there is any filter applied to the control
// FilterChange event - Occurs when the filter was changed. void OnFilterChangeG2antt1() { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"If negative, the filter is present, else not" ); OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetVisibleItemCount()) ); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutTreeColumnIndex(-1); spG2antt1->PutFilterInclude(EXG2ANTTLib::exMatchingItemsOnly); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXG2ANTTLib::exFilter); var_Column->PutFilter(L"C1"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("R1"); var_Items->InsertItem(h,vtMissing,"C1"); var_Items->InsertItem(h,vtMissing,"C2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("R2"); var_Items->InsertItem(h,vtMissing,"C1"); var_Items->InsertItem(h,vtMissing,"C2"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
1522 |
How can I prevent showing the lines for the hierarchy while using the exMatchingItemsOnly option
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutTreeColumnIndex(-1); spG2antt1->PutFilterInclude(EXG2ANTTLib::exMatchingItemsOnly); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXG2ANTTLib::exFilter); var_Column->PutFilter(L"C1|C2"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("R1"); var_Items->InsertItem(h,vtMissing,"C1"); var_Items->InsertItem(h,vtMissing,"C2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("R2"); var_Items->InsertItem(h,vtMissing,"C1"); var_Items->InsertItem(h,vtMissing,"C2"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
1521 |
Is there any method to get only the matched items and not the items with his parent
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot); spG2antt1->PutFilterInclude(EXG2ANTTLib::exMatchingItemsOnly); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXG2ANTTLib::exFilter); var_Column->PutFilter(L"C1|C2"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("R1"); var_Items->InsertItem(h,vtMissing,"C1"); var_Items->InsertItem(h,vtMissing,"C2"); var_Items->PutExpandItem(h,VARIANT_TRUE); h = var_Items->AddItem("R2"); var_Items->InsertItem(h,vtMissing,"C1"); var_Items->InsertItem(h,vtMissing,"C2"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
1520 |
Is it possible to specify a working day exception that would override the non-working day pattern
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Pattern"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday); var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,24,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,52); var_Chart->PutLevelCount(2); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddItem("Default"); var_Items->PutItemNonworkingUnits(var_Items->AddItem("1/26/2008"),VARIANT_FALSE,L"weekday(value) case (default:0 ; 0:1; 6:(value != #1/26/2008#))"); var_Items->PutItemNonworkingUnits(var_Items->AddItem("1/27/2008"),VARIANT_FALSE,L"weekday(value) case (default:0 ; 0:(value != #1/27/2008#); 6:1)"); var_Items->PutItemNonworkingUnits(var_Items->AddItem("Sundays"),VARIANT_FALSE,L"weekday(value) = 0"); spG2antt1->EndUpdate(); |
1519 |
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutScrollBars(EXG2ANTTLib::exDisableBoth); spG2antt1->GetChart()->PutToolTip(L""); spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exVScroll,EXG2ANTTLib::exExtentThumbPart,VARIANT_TRUE); spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exHScroll,EXG2ANTTLib::exExtentThumbPart,VARIANT_TRUE); spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exExtentThumbPart,VARIANT_TRUE); spG2antt1->PutScrollWidth(4); spG2antt1->PutBackground(EXG2ANTTLib::exVSBack,RGB(240,240,240)); spG2antt1->PutBackground(EXG2ANTTLib::exVSThumb,RGB(128,128,128)); spG2antt1->PutScrollHeight(4); spG2antt1->PutBackground(EXG2ANTTLib::exHSBack,spG2antt1->GetBackground(EXG2ANTTLib::exVSBack)); spG2antt1->PutBackground(EXG2ANTTLib::exHSThumb,spG2antt1->GetBackground(EXG2ANTTLib::exVSThumb)); spG2antt1->PutBackground(EXG2ANTTLib::exScrollSizeGrip,spG2antt1->GetBackground(EXG2ANTTLib::exVSBack)); spG2antt1->EndUpdate(); |
1518 |
Is it possible to associate an extra frame, border, EBN to the bar/task
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BNACg6AADACAxRDAMgBQKAAzQFAYbhsGCGAAGEZBQgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDEAkRRdDSOYDmGQYDiCIoRShOMaTV") + "J8bQ2ASEaAmWK3boUAJFPrFc6ABJMZRRISXJABeKwRoGJYaUhRdDRNCIZBqEqua7iEZRQqCCZkWZPNTRVScByhF61IDpWjKLDKJJwXBMcxyBL0NRxFTAKawGoYbq0AJQ" + "VTQcZPVhgAYYfSlMDuOB5Gq+G5SQjhWIgBjde4dRrHYrsGyQAp7JJoWLZMQyFIFIYNTS8LgpPI6LyyP5rABhWw5PiUVyfWTMdwzPatbyKHJicbpepWPxcNYtNzcNb3SA" + "bn+KgAmqP5yDiIAACIEhQDSGJOgcU4RhQYwgFUQwIESXxEGgbQJBQQhzHmUAAGILh0lWbpEGIIQQHuegaAaoRYBUBYBCgFAOAOQJgC4CgCCCQAUAQARACgRZFEa3ogCc" + "CICDCDZ9AeH5wGgFoHmAUBIA6CJgiALgMAIABYiYER+BuMIyC4CZjAcYgygyYxIlYNoNBGMJGDoCximiXg+g+Yx0G0DgNiOIJGECEZkgQbA7A8A5JA4SITmOZBsEGFJD" + "kkLhQhXOItBYEZEGEHBCBARApGIYh1EAaIoAMQIEkENBNBGZpJg4YgCGcAAaGUAAFCmVhqBMZppGADQDACQAmAwAAFgoBh1BSJ4ZFwEEdHmcFmgWag2gEFhoFlINYkoH" + "AQAABhKGQX4jGkGQ8BiJ5BDqBAABqKl1GSJxkgAcoqAYAR3lQcIrkaOoSiiEZCBCBAgiqAaJHaLpHBqQoliaBZxHwWYwkUQRMFQExEmENBJBIRIBAgQwQkOYJ0D4DhDg" + "CYAzjWQpgjwLgKi2QIWl4CACADeofC4SpsHcHArlqRBqBkbpLAaQoxAUQRQE6PLoCaT40AOYJ6lWNdXlAL4/m2QIql4CRAAQBCAg="); var_Appearance->Add(2,"CP:1 -4 -4 4 4"); spG2antt1->GetColumns()->Add(L"Task"); spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Task"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K1",vtMissing); long h = var_Items->AddItem("Task/ EBN Frame"); var_Items->PutItemHeight(h,32); var_Items->AddBar(h,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,15,0,00,00).operator DATE(),"K2",vtMissing); var_Items->PutItemBar(h,"K2",EXG2ANTTLib::exBarFrameColor,long(33554432)); h = var_Items->AddItem("Task/ EBN Frame"); var_Items->PutItemHeight(h,32); var_Items->AddBar(h,"Task",COleDateTime(2001,1,3,0,00,00).operator DATE(),COleDateTime(2001,1,15,0,00,00).operator DATE(),"K2",vtMissing); var_Items->PutItemBar(h,"K2",EXG2ANTTLib::exBarFrameColor,long(50331392)); var_Items->AddBar(var_Items->AddItem("Task"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,5,0,00,00).operator DATE(),"K3",vtMissing); spG2antt1->EndUpdate(); |
1517 |
Is it possible to automatically display the working days duration in a column
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); var_Columns->Add(L"Tasks"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Duration"))); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(513)); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Working"))); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258)); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A"); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutPaneWidth(VARIANT_FALSE,256); var_Chart->PutFirstVisibleDate(COleDateTime(2002,1,3,0,00,00).operator DATE()); var_Chart->PutLevelCount(2); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Task 1"); var_Items->AddBar(h,"Task",COleDateTime(2002,1,4,0,00,00).operator DATE(),COleDateTime(2002,1,8,0,00,00).operator DATE(),"A",vtMissing); spG2antt1->EndUpdate(); |
1516 |
How can I apply colors to columns section of the control based on properties of the displaying bars
// BarResize event - Occurs when a bar is moved or resized. void OnBarResizeG2antt1(long Item,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->Refresh(); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"<fgcolor=FF0000>Tasks > 2 days"))); var_Column->PutHTMLCaption(var_Column->GetCaption()); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"PropertyBar"))); var_Column1->PutVisible(VARIANT_FALSE); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(513)); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,96); var_Chart->PutNonworkingDays(0); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"%1 > 2",vtMissing); var_ConditionalFormat->PutForeColor(RGB(255,0,0)); var_ConditionalFormat->PutBold(VARIANT_TRUE); spG2antt1->PutSelBackColor(spG2antt1->GetBackColor()); spG2antt1->PutSelForeColor(spG2antt1->GetForeColor()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"",vtMissing); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); spG2antt1->EndUpdate(); |
1515 |
Is it possible to update the colors on columns caption to highlight the critical path ( CPM )
// BarResize event - Occurs when a bar is moved or resized. void OnBarResizeG2antt1(long Item,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->SchedulePDM(Item,Key); spG2antt1->Refresh(); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"PropertyBar"))); var_Column->PutVisible(VARIANT_FALSE); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,""); var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(269)); spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,48); var_Chart->PutNonworkingDays(0); EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"%1 != 0",vtMissing); var_ConditionalFormat->PutForeColor(RGB(255,0,0)); var_ConditionalFormat->PutBold(VARIANT_TRUE); spG2antt1->PutSelBackColor(spG2antt1->GetBackColor()); spG2antt1->PutSelForeColor(spG2antt1->GetForeColor()); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Task 1"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); long h2 = var_Items->AddItem("Task 2"); var_Items->AddBar(h2,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->AddLink("L1",h1,"",h2,""); long h3 = var_Items->AddItem("Task 3"); var_Items->AddBar(h3,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"",vtMissing); var_Items->AddLink("L2",h2,"",h3,""); long h4 = var_Items->AddItem("Task 3"); var_Items->AddBar(h4,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),"",vtMissing); var_Items->AddLink("L3",h2,"",h4,""); var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMCriticalPathBarColor,long(255)); var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMCriticalPathLinkColor,long(255)); var_Items->SchedulePDM(0,""); spG2antt1->EndUpdate(); |
1514 |
I am using the AddShapeCorner to define icon-bars. Is it possible to define with a different color
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,128); EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars(); var_Bars->AddShapeCorner(long(12345),long(1)); EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Copy(L"Milestone",L"Original"); var_Bar->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar->PutStartColor(-1); EXG2ANTTLib::IBarPtr var_Bar1 = var_Bars->Copy(L"Milestone",L"Red"); var_Bar1->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar1->PutStartColor(RGB(255,0,0)); EXG2ANTTLib::IBarPtr var_Bar2 = var_Bars->Copy(L"Milestone",L"Green"); var_Bar2->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar2->PutStartColor(RGB(0,255,0)); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Original"),"Original",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Red"),"Red",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->AddBar(var_Items->AddItem("Green"),"Green",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing); spG2antt1->EndUpdate(); |
1513 |
My icon-bars shows different when displaying in the chart. Any ideas
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") + "lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" + "0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" + "NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="); spG2antt1->GetChart()->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars(); var_Bars->AddShapeCorner(long(12345),long(1)); EXG2ANTTLib::IBarPtr var_Bar = var_Bars->GetItem("Milestone"); var_Bar->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconVBar | EXG2ANTTLib::exShapeIconRight)); var_Bar->PutStartColor(-1); spG2antt1->GetColumns()->Add(L"Column"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Item 1"),"Milestone",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,2,0,00,00).operator DATE(),vtMissing,vtMissing); |
1512 |
The items are not colored in the chart panel
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,128); spG2antt1->GetColumns()->Add(L"Default"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Item"); spG2antt1->GetChart()->PutItemBackColor(h,RGB(0,255,0)); spG2antt1->GetItems()->PutItemBackColor(h,RGB(0,255,0)); |
1511 |
I need to know how to determine the critical path (CPM) after the SchedulePDM procedure, so I can turn red the bars and links
// BarResize event - Occurs when a bar is moved or resized. void OnBarResizeG2antt1(long Item,VARIANT Key) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetItems()->SchedulePDM(Item,Key); } EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,48); var_Chart->PutNonworkingDays(0); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Task 1"); var_Items->AddBar(h1,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing); long h2 = var_Items->AddItem("Task 2"); var_Items->AddBar(h2,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K2",vtMissing); var_Items->AddLink("L1",h1,"K1",h2,"K2"); long h3 = var_Items->AddItem("Task 3"); var_Items->AddBar(h3,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K3",vtMissing); var_Items->AddLink("L2",h2,"K2",h3,"K3"); long h4 = var_Items->AddItem("Task 3"); var_Items->AddBar(h4,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,3,0,00,00).operator DATE(),"K4",vtMissing); var_Items->AddLink("L3",h2,"K2",h4,"K4"); var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMCriticalPathBarColor,long(255)); var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMCriticalPathLinkColor,long(255)); var_Items->SchedulePDM(0,"K1"); spG2antt1->EndUpdate(); |
1510 |
How can I display the Year in Thai, Buddhist, Korean format
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstWeekDay(var_Chart->GetLocFirstWeekDay()); var_Chart->PutMonthNames(var_Chart->GetLocMonthNames()); var_Chart->PutWeekDays(var_Chart->GetLocWeekDays()); var_Chart->PutAMPM(var_Chart->GetLocAMPM()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,0); var_Chart->PutUnitScale(EXG2ANTTLib::exDay); EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0); var_Level->PutLabel("<%mmmm%> <%d%>, <%loc_yyyy%> <r><%ww%>"); var_Level->PutUnit(EXG2ANTTLib::exWeek); var_Level->PutToolTip(var_Level->GetLabel()); var_Chart->PutToolTip(L"<%ddd%> <%m%>/<%d%>/<%loc_yyyy%>"); spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarDateMonths,spG2antt1->GetChart()->GetMonthNames()); spG2antt1->PutDefaultEditorOption(EXG2ANTTLib::exDateMonths,spG2antt1->GetChart()->GetMonthNames()); |
1509 |
How does localization work
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstWeekDay(var_Chart->GetLocFirstWeekDay()); var_Chart->PutMonthNames(var_Chart->GetLocMonthNames()); var_Chart->PutWeekDays(var_Chart->GetLocWeekDays()); var_Chart->PutAMPM(var_Chart->GetLocAMPM()); var_Chart->PutLevelCount(2); var_Chart->PutPaneWidth(VARIANT_FALSE,0); |
1508 |
Is it possible to show the bars with a different brightness (2)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance(); var_Appearance->Add(1,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task--.ebn"); var_Appearance->Add(2,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task-.ebn"); var_Appearance->Add(3,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task.ebn"); var_Appearance->Add(4,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task+.ebn"); var_Appearance->Add(5,"C:/Program Files/Exontrol/ExG2antt/Sample/EBN/2task++.ebn"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,128); var_Chart->PutNonworkingDays(0); var_Chart->GetBars()->Copy(L"Task",L"--")->PutColor(0x1000000); var_Chart->GetBars()->Copy(L"Task",L"-")->PutColor(0x2000000); var_Chart->GetBars()->GetItem("Task")->PutColor(0x3000000); var_Chart->GetBars()->Copy(L"Task",L"+")->PutColor(0x4000000); var_Chart->GetBars()->Copy(L"Task",L"++")->PutColor(0x5000000); spG2antt1->GetColumns()->Add(L"Brightness"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("0%"); var_Items->AddBar(h,"--",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"--",vtMissing); var_Items->AddBar(h,"-",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"-",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"",vtMissing); var_Items->AddBar(h,"+",COleDateTime(2001,1,11,0,00,00).operator DATE(),COleDateTime(2001,1,13,0,00,00).operator DATE(),"+",vtMissing); var_Items->AddBar(h,"++",COleDateTime(2001,1,14,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),"++",vtMissing); h = var_Items->AddItem("25%"); var_Items->AddBar(h,"--",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"--",vtMissing); var_Items->AddBar(h,"-",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"-",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"",vtMissing); var_Items->AddBar(h,"+",COleDateTime(2001,1,11,0,00,00).operator DATE(),COleDateTime(2001,1,13,0,00,00).operator DATE(),"+",vtMissing); var_Items->AddBar(h,"++",COleDateTime(2001,1,14,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),"++",vtMissing); var_Items->PutItemBar(h,"<*>",EXG2ANTTLib::exBarTransparent,long(25)); h = var_Items->AddItem("50%"); var_Items->AddBar(h,"--",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"--",vtMissing); var_Items->AddBar(h,"-",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"-",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"",vtMissing); var_Items->AddBar(h,"+",COleDateTime(2001,1,11,0,00,00).operator DATE(),COleDateTime(2001,1,13,0,00,00).operator DATE(),"+",vtMissing); var_Items->AddBar(h,"++",COleDateTime(2001,1,14,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),"++",vtMissing); var_Items->PutItemBar(h,"<*>",EXG2ANTTLib::exBarTransparent,long(50)); h = var_Items->AddItem("75%"); var_Items->AddBar(h,"--",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"--",vtMissing); var_Items->AddBar(h,"-",COleDateTime(2001,1,5,0,00,00).operator DATE(),COleDateTime(2001,1,7,0,00,00).operator DATE(),"-",vtMissing); var_Items->AddBar(h,"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"",vtMissing); var_Items->AddBar(h,"+",COleDateTime(2001,1,11,0,00,00).operator DATE(),COleDateTime(2001,1,13,0,00,00).operator DATE(),"+",vtMissing); var_Items->AddBar(h,"++",COleDateTime(2001,1,14,0,00,00).operator DATE(),COleDateTime(2001,1,16,0,00,00).operator DATE(),"++",vtMissing); var_Items->PutItemBar(h,"<*>",EXG2ANTTLib::exBarTransparent,long(75)); |
1507 |
Is it possible to show the bars with a different brightness (1)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,128); spG2antt1->GetColumns()->Add(L"Brightness"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("0%"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); h = var_Items->AddItem("25%"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarTransparent,long(25)); h = var_Items->AddItem("50%"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarTransparent,long(50)); h = var_Items->AddItem("75%"); var_Items->AddBar(h,"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),vtMissing,vtMissing); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarTransparent,long(75)); |
1506 |
So the behavior I am looking for is that a change can cascade through a bar's successors, but a change that would affect a bar's predecessors is not allowed. Is this possible to in ExG2antt
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); spG2antt1->PutOnResizeControl(EXG2ANTTLib::exResizeChart); spG2antt1->GetColumns()->Add(L"Tasks"); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")))->PutVisible(VARIANT_FALSE); ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")))->PutVisible(VARIANT_FALSE); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutLevelCount(2); var_Chart->PutFirstVisibleDate(COleDateTime(2006,9,18,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,64); var_Chart->PutScrollRange(EXG2ANTTLib::exStartDate,var_Chart->GetFirstVisibleDate()); var_Chart->PutScrollRange(EXG2ANTTLib::exEndDate,COleDateTime(2006,12,31,0,00,00).operator DATE()); var_Chart->PutMarkSelectDateColor(0x7fff0000); var_Chart->PutSelectLevel(1); var_Chart->PutSelectDate(COleDateTime(2006,9,19,0,00,00).operator DATE(),VARIANT_TRUE); var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar); var_Chart->PutAllowLinkBars(VARIANT_FALSE); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h = var_Items->AddItem("Project"); var_Items->PutCellValue(h,long(1),COleDateTime(2006,9,21,0,00,00).operator DATE()); var_Items->PutCellValue(h,long(2),COleDateTime(2006,10,3,0,00,00).operator DATE()); var_Items->AddBar(h,"Summary",var_Items->GetCellValue(h,long(1)),var_Items->GetCellValue(h,long(2)),"sum",vtMissing); long h1 = var_Items->InsertItem(h,vtMissing,"Task 1"); var_Items->PutCellValue(h1,long(1),var_Items->GetCellValue(h,long(1))); var_Items->PutCellValue(h1,long(2),COleDateTime(2006,9,24,0,00,00).operator DATE()); var_Items->AddBar(h1,"Task",var_Items->GetCellValue(h1,long(1)),var_Items->GetCellValue(h1,long(2)),"K1",vtMissing); var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarMinStart,COleDateTime(2006,9,20,0,00,00).operator DATE()); long h2 = var_Items->InsertItem(h,vtMissing,"Task 2"); var_Items->PutCellValue(h2,long(1),var_Items->GetCellValue(h1,long(2))); var_Items->PutCellValue(h2,long(2),COleDateTime(2006,9,28,0,00,00).operator DATE()); var_Items->AddBar(h2,"Unknown",var_Items->GetCellValue(h2,long(1)),var_Items->GetCellValue(h2,long(2)),"K2",vtMissing); var_Items->AddLink("L1",h1,"K1",h2,"K2"); long h3 = var_Items->InsertItem(h,vtMissing,"Task 3"); var_Items->PutCellValue(h3,long(1),var_Items->GetCellValue(h2,long(2))); var_Items->PutCellValue(h3,long(2),var_Items->GetCellValue(h,long(2))); var_Items->AddBar(h3,"Task",var_Items->GetCellValue(h3,long(1)),var_Items->GetCellValue(h3,long(2)),"K3",vtMissing); var_Items->AddLink("L2",h2,"K2",h3,"K3"); var_Items->GroupBars(h1,"K1",VARIANT_FALSE,h2,"K2",VARIANT_TRUE,long(31),"0;4"); var_Items->GroupBars(h2,"K2",VARIANT_FALSE,h3,"K3",VARIANT_TRUE,long(31),"0;2"); var_Items->DefineSummaryBars(h,"sum",h1,"K1"); var_Items->DefineSummaryBars(h,"sum",h2,"K2"); var_Items->DefineSummaryBars(h,"sum",h3,"K3"); var_Items->PutExpandItem(h,VARIANT_TRUE); var_Items->PutItemBold(h,VARIANT_TRUE); spG2antt1->EndUpdate(); |
1505 |
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Car"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXG2ANTTLib::exFilter); var_Column->PutFilter(L"MAZDA"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Equipment"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutDisplayFilterPattern(VARIANT_FALSE); var_Column1->PutCustomFilter(L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"); var_Column1->PutFilterType(EXG2ANTTLib::exPattern); var_Column1->PutFilter(L"AIR BAG"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag"); var_Items->PutCellValue(var_Items->AddItem("Toyota"),long(1),"Air Bag,Air condition"); var_Items->PutCellValue(var_Items->AddItem("Ford"),long(1),"Air condition"); var_Items->PutCellValue(var_Items->AddItem("Nissan"),long(1),"Air Bag,ABS,ESP"); var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag, ABS,ESP"); var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"ABS,ESP"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
1504 |
How can I have a case-sensitive filter
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0); spG2antt1->PutMarkSearchColumn(VARIANT_FALSE); EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns(); EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Car"))); var_Column->PutDisplayFilterButton(VARIANT_TRUE); var_Column->PutFilterType(EXG2ANTTLib::FilterTypeEnum(EXG2ANTTLib::exFilterDoCaseSensitive | EXG2ANTTLib::exFilter)); var_Column->PutFilter(L"Mazda"); EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Equipment"))); var_Column1->PutDisplayFilterButton(VARIANT_TRUE); var_Column1->PutDisplayFilterPattern(VARIANT_FALSE); var_Column1->PutCustomFilter(L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"); var_Column1->PutFilterType(EXG2ANTTLib::FilterTypeEnum(EXG2ANTTLib::exFilterDoCaseSensitive | EXG2ANTTLib::exPattern)); var_Column1->PutFilter(L"Air Bag"); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag"); var_Items->PutCellValue(var_Items->AddItem("Toyota"),long(1),"Air Bag,Air condition"); var_Items->PutCellValue(var_Items->AddItem("Ford"),long(1),"Air condition"); var_Items->PutCellValue(var_Items->AddItem("Nissan"),long(1),"Air Bag,ABS,ESP"); var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag, ABS,ESP"); var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"ABS,ESP"); spG2antt1->ApplyFilter(); spG2antt1->EndUpdate(); |
1503 |
Is it possible to add a custom label to the days with a specified background color
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2001,1,1,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,48); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); long h1 = var_Items->AddItem("Task 1"); var_Items->AddBar(h1,"",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,8,0,00,00).operator DATE(),"K1","Leave Blank"); var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarSelectable,VARIANT_FALSE); var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarBackColor,long(255)); spG2antt1->EndUpdate(); |
1502 |
What is the event fired when I change "...Chart.PaneWidthLeft" (or "...Chart.PaneWidthRight") in the Gantt splitter window
// ChartEndChanging event - Occurs after the chart has been changed. void OnChartEndChangingG2antt1(long Operation) { /* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"End Operation(exVSplitterChange(10)" ); OutputDebugStringW( L"Operation" ); OutputDebugStringW( L"PaneWidth:" ); OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetPaneWidth(VARIANT_FALSE)) ); } // ChartStartChanging event - Occurs when the chart is about to be changed. void OnChartStartChangingG2antt1(long Operation) { EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); OutputDebugStringW( L"Start Operation(exVSplitterChange(10)" ); OutputDebugStringW( L"Operation" ); OutputDebugStringW( L"PaneWidth:" ); OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetPaneWidth(VARIANT_FALSE)) ); } |
1501 |
I want to ask if I can select more than one bar in the chart and move them together
/* Copy and paste the following directives to your header file as it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library' #import <ExG2antt.dll> using namespace EXG2ANTTLib; */ EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown(); spG2antt1->BeginUpdate(); spG2antt1->GetColumns()->Add(L"Task"); EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart(); var_Chart->PutFirstVisibleDate(COleDateTime(2000,12,29,0,00,00).operator DATE()); var_Chart->PutPaneWidth(VARIANT_FALSE,64); var_Chart->PutLevelCount(2); EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems(); var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",COleDateTime(2001,1,2,0,00,00).operator DATE(),COleDateTime(2001,1,4,0,00,00).operator DATE(),"K1",vtMissing); var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",COleDateTime(2001,1,4,0,00,00).operator DATE(),COleDateTime(2001,1,6,0,00,00).operator DATE(),"K2",vtMissing); var_Items->AddBar(var_Items->AddItem("Task 3"),"Task",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"K3",vtMissing); long h = var_Items->AddItem(""); var_Items->AddBar(h,"",COleDateTime(2001,1,8,0,00,00).operator DATE(),COleDateTime(2001,1,10,0,00,00).operator DATE(),"","<b>Right click</b> the chart, start dragging to select multiple bars<br>or click a bar while pressing the <b>CTRL</b> key"); var_Items->PutItemHeight(h,36); var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarSelectable,VARIANT_FALSE); spG2antt1->EndUpdate(); |